#ifndef _EngineUIButton_h_
#define _EngineUIButton_h_

#include "BlazeEngineConfig.h"

#include "BlazeEngineUIFrame.h"

class _BlazeExports BeUIButton : public BeUIFrame
{
public:
	BeUIButton(const char* pcName);
	virtual ~BeUIButton();

	static void Install(lua_State* pLua);
	static void Uninstall();

protected:

	static int Lua_Click(lua_State* pLua);
	static int Lua_Disable(lua_State* pLua);
	static int Lua_Enable(lua_State* pLua);
	static int Lua_LockHighlight(lua_State* pLua);
	static int Lua_UnlockHighlight(lua_State* pLua);
	static int Lua_RegisterForClicks(lua_State* pLua);
	static int Lua_SetButtonState(lua_State* pLua);
	static int Lua_SetDisabledFontObject(lua_State* pLua);
	static int Lua_SetDisabledTextColor(lua_State* pLua);
	static int Lua_SetDisabledTexture(lua_State* pLua);
	static int Lua_SetFont(lua_State* pLua);
	static int Lua_SetFontString(lua_State* pLua);
	static int Lua_SetHighlightFontObject(lua_State* pLua);
	static int Lua_SetHighlightTextColor(lua_State* pLua);
	static int Lua_SetHighlightTexture(lua_State* pLua);
	static int Lua_SetNormalTexture(lua_State* pLua);
	static int Lua_SetPushedTextOffset(lua_State* pLua);
	static int Lua_SetPushedTexture(lua_State* pLua);
	static int Lua_SetText(lua_State* pLua);
	static int Lua_SetTextColor(lua_State* pLua);
	static int Lua_SetTextFontObject(lua_State* pLua);
	static int Lua_GetButtonState(lua_State* pLua);
	static int Lua_GetDisabledTexture(lua_State* pLua);
	static int Lua_GetFont(lua_State* pLua);
	static int Lua_GetFontString(lua_State* pLua);
	static int Lua_GetHighlightFontObject(lua_State* pLua);
	static int Lua_GetHighlightTextColor(lua_State* pLua);
	static int Lua_GetHighlightTexture(lua_State* pLua);
	static int Lua_GetNormalTexture(lua_State* pLua);
	static int Lua_GetPushedTextOffset(lua_State* pLua);
	static int Lua_GetPushedTexture(lua_State* pLua);
	static int Lua_GetText(lua_State* pLua);
	static int Lua_GetTextColor(lua_State* pLua);
	static int Lua_GetTextFontObject(lua_State* pLua);
	static int Lua_GetTextHeight(lua_State* pLua);
	static int Lua_GetTextWidth(lua_State* pLua);
	static int Lua_IsEnabled(lua_State* pLua);
};

#endif

